package com.itany.corejava.code11_io.file;

import java.io.File;
import java.io.FilenameFilter;

/**
 * @author 石小俊
 * @date 2023年05月10日 14:47
 */
public class Test06_文件过滤器 {

    public static void main(String[] args) {
        File file = new File("E:/itany");
        String[] list = file.list(new FilenameFilter() {
            /**
             * 实现过滤规则
             * @param dir   被找到的文件所在的目录
             * @param name  文件的名称
             * @return
             */
            @Override
            public boolean accept(File dir, String name) {
                // 定义过滤器规则
                // 当accept方法返回值为false,则不添加到list方法的返回值中
                // 当accept方法返回值为true,则添加到list方法的返回值中
                // 此时需要将所有的java文件添加到返回值中
                if (name.endsWith(".java")) {
                    // 当文件名以.java作为后缀时表示是java文件
                    // 此时需要添加到list方法返回值中
                    // 因此,accept方法返回true
                    return true;
                }
                // jpg与gif也需要
                // 一般在过滤时只需要一个if,多种条件通过||进行或者的条件判断
                if (name.endsWith(".jpg") || name.endsWith(".gif")) {
                    return true;
                }
                return false;
            }
        });
        for (String s : list) {
            System.out.println(s);
        }
    }

}
